package handler

import (
	"github.com/gin-gonic/gin"

	"{{filepathJoin .ModName "internal/app/" .ServerName "service"}}"
	"{{filepathJoin .ModName "internal/pkg/response"}}"
)

type {{lower .HandlerName}}Handler struct {
	{{lower .ServiceName}}Service *service.{{greatHump .ServiceName}}Service 
}

// New{{greatHump .HandlerName}}Handler 创建一个新的{{lower .HandlerName}}Handler实例
// 它负责初始化一个服务并返回这个服务的{{lower .HandlerName}}
//
// @return *{{lower .HandlerName}}Handler 返回一个指向新创建的{{lower .HandlerName}}Handler的指针
func New{{greatHump .HandlerName}}Handler() *{{lower .HandlerName}}Handler {
	return &{{lower .HandlerName}}Handler{
		{{lower .ServiceName}}Service: service.New{{greatHump .ServiceName}}Service(),
	}
}

// Test 方法用于测试接口是否正常工作
// 它接收一个 gin.Context 类型的参数 c，用于处理 HTTP 请求和响应
// 该方法返回 HTTP 状态码和一个包含消息的 JSON 响应
func (h *{{lower .HandlerName}}Handler) Test(c *gin.Context) {
	response.HandleSuccess(c, "Hello, World!")
}
